1. Field of the Invention
The present disclosure generally relates image encoding and, more particularly, to an image encoding apparatus, an image encoding system, an image encoding method, and a storage medium, an image decoding apparatus, an image decoding system, and an image decoding method, and a storage medium. More particularly, the present disclosure generally relates to a system that can encode and decode a plurality of images in parallel.
2. Description of the Related Art
H.264/MPEG-4 AVC (hereinafter, referred to as “H.264”) is a conventionally known moving image encoding method (see ITU-T H.264 (03/2010) Advanced video coding for generic audio visual services).
Recently started activity for a succession of H.264 includes promoting international standardization of a highly efficient encoding method, and Joint Collaborative Team on Video Coding (JCT-VC) has been established for ISO/IEC and ITU-T. JCT-VC advances the standardization of High Efficiency Video Coding (hereinafter, referred to as “HEVC”) (see JCT-VC (Contribution) JCTVC-F335).
Two types of encoding employed in H.264 or HEVC to improve the encoding efficiency are intra-picture prediction encoding that performs encoding using a correlation in a screen (hereinafter, referred to as “intra-picture encoding”) and inter-picture prediction encoding that performs encoding using a correlation between screens to predict a motion (hereinafter, referred to as “inter-picture encoding”). The inter-picture encoding includes searching a motion vector indicating the magnitude of a motion from an image to be referred to in encoding each block (hereinafter, referred to as “reference image”) to an encoding target image (hereinafter, referred to as “target image”). Similar to a prediction residual of the target image, the searched motion vector is subjected to encoding and is multiplexed as a part of an encoded stream (i.e., an output of the image encoding apparatus).
Further, in accordance with an increase in the size of a moving image and the number of frames per second, it is desirable to record and reproduce a video having a high image quality compared to a conventional moving image. In a case where such a high-quality video is encoded in real time, a single image encoding apparatus is generally insufficient in processing performance. Therefore, using a plurality of image encoding apparatuses may be useful in performing encoding processing on a plurality of images in parallel.
Further, as discussed in Japanese Patent Application Laid-Open No. 2003-219428, it is necessary for an image encoding apparatus and an image decoding apparatus to use the same image as a reference image to be used in the motion vector search of the inter-picture encoding. Therefore, it is general that the reference image is generated through internal decoding (generally referred to as “local decoding”) processing performed by the image encoding apparatus.
In a case where a plurality of image encoding apparatuses is used to perform inter-picture encoding processing on a plurality of images in parallel, each image encoding apparatus uses a temporally neighboring image as a reference image. However, in this case, the same reference image used in the inter-picture encoding may be currently encoded or locally decoded by another image encoding apparatus. In such a situation, the image encoding apparatus cannot start inter-picture encoding before another image encoding apparatus completes the encoding or the local decoding of the reference image. The image encoding apparatus cannot perform parallel encoding processing on a plurality of images.
To eliminate the above-mentioned adverse dependency between images in the inter-picture prediction, it may be useful to use a temporally distant image as a reference image in performing the parallel encoding processing on a plurality of images. However, in the inter-picture encoding, it is general that the correlation between two images is strong when these images are temporally adjacent to each other. Accordingly, the compression efficiency deteriorates when a temporally distant image is used as a reference image in the inter-picture encoding, compared to a case where a temporally adjacent image is used as a reference image in the inter-picture encoding. As a result, the data size of an encoded stream (i.e., an output of the image encoding apparatus) becomes greater.